//
//  User.h
//  SquashSpark
//
//  Created by Coollang on 2017/11/6.
//  Copyright © 2017年 Coollang-YF. All rights reserved.
//

#import <Realm/Realm.h>
#import "YFUserDefaults.h"
#import "UserInfoItem.h"
#import "TrackVideo.h"
#import "YFThreeDTemplate.h"
#import "YFDayRecordItem.h"

/**
 *  账户类型:主要用于数据同步
 */
typedef NS_ENUM(NSInteger, UserType) {
    ///新用户、新安装的APP（无断点、无mac地址、无数据）
    UserTypeNewUserNewApp,
    ///老用户、新安装的APP（无断点、无mac地址、有数据）
    UserTypeOldUserNewApp,
    ///一般状态下的用户（有断点、有mac地址、有数据）
    UserTypeNormal,
    ///错误状态
    UserTypeError
};

@interface User : RLMObject

@property NSString *identification;
@property NSString *userID;//当前用户ID
@property BOOL isFirstLogin; //是否完成第一次登陆的操作
@property NSString *token;

// 用户最后连接设备的Mac
@property NSString *lastDeviceMac;
/** 同步数据的最新时间戳 */
@property NSString *syncDataTimeStamp;

// 用户当前选中的模板
@property YFThreeDTemplate *currentSelectTemplate;
// 创建系统模板
- (void)checkAndCreatSystemTemplate;

@property RLMArray <TrackVideo *> <TrackVideo> *trackVideos;

// 获取当前用户
+ (User *)getLastUser;
+ (UserInfoItem *)getUseInfo;
//创建用户
+ (User *)userWithPrivateKey:(NSString *)key;

/**
 * 获取账户类型,用于数据同步
 */
- (UserType)userType;

@end
RLM_ARRAY_TYPE(User)
